<script setup lang="ts">
// @ts-ignore
import { getAppDownloadinfoCheckAppVerson } from "@/api/public/version";
import { onLaunch, onShow, onHide, onThemeChange } from "@dcloudio/uni-app";
// import themeFile from "@/theme.json";
// import { useStore } from "vuex";

import { inject } from "vue";
// const store = useStore();
const config: any = inject("$config");

onLaunch(() => {
  // #ifdef H5
  // 自定义模板的展示处理

  if (window.initSoftDate) {
    try {
      window.initSoftDate(config, getAppDownloadinfoCheckAppVerson, uni.getSystemInfo);
      return;
    } catch (error) {
      console.warn("生成预览过程中出现了一些问题，但不影响主体应用..", error);
    }
  }
  // #endif

  console.log("App Launch");
  uni.getSystemInfo({
    success: (res) => {
      //-- 输出应用信息
      console.log(`
 _____________________________
| App Name:  ${res.appName}
| Version:  ${res.appVersion}
| Host:  ${config.baseUrl}
| CustomerID:  ${import.meta.env.VITE_KINGON_CUSTOMER_ID}
| Language:  ${res.language}
| MODE:  ${import.meta.env.MODE} - ${import.meta.env.DEV ? "DEV" : "PROD"}
| H5:  ${import.meta.env.VITE_H5_BASE_URL}
 _____________________________
        `);
    },
  });
  // 监听网络变化
  uni.onNetworkStatusChange(function (res) {
    if (!res.isConnected) {
      uni.showToast({
        title: "网络链接错误，请检查网络链接",
        icon: "none",
      });
    }
  });

  // #ifdef MP-WEIXIN
  // 小程序右上角胶囊位置信息（用于一些自定义导航条布局）
  // let menuButtonInfo = uni.getMenuButtonBoundingClientRect();
  // this.$store.commit("initMpMenuButtonReact", menuButtonInfo);
  // console.log('menuButtonInfo', menuButtonInfo)

  // --------- 微信小程序更新检测 START ------------
  const updateManager = uni.getUpdateManager();

  updateManager.onCheckForUpdate(function (res) {
    // 请求完新版本信息的回调
    console.log(res.hasUpdate);
  });

  updateManager.onUpdateReady(function (res) {
    // console.log('updateManager', res);
    uni.showModal({
      title: "更新提示",
      content: "新版本已经准备好，是否重启小程序以更新应用？",
      success(res) {
        if (res.confirm) {
          // 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
          updateManager.applyUpdate();
        }
      },
    });
  });

  updateManager.onUpdateFailed(function (res) {
    // 新的版本下载失败
    console.log("版本更新失败：", res);
  });
  // --------- 微信小程序更新检测 END ------------
  // #endif

  // 主题配置保存 （兼容问题，暂不使用）
  // const modeName = uni.getSystemInfoSync().theme;
  // const theme = themeFile[modeName];
  // store.commit("common/setTheme", { mode: modeName, ...theme });

  // uni.onThemeChange((res) => {
  //   console.log("onThemeChange", res);
  //   const theme = themeFile[res.theme];
  //   store.commit("common/setTheme", { mode: res.theme, ...theme });
  // });
});
onShow(() => {
  console.log("App Show");
});
onHide(() => {
  console.log("App Hide");
});
</script>
<style lang="scss">
/** tailwindcss 通用版  */
@import "tailwindcss/utilities";
// @tailwind base;
// @tailwind components;
// @tailwind utilities;/** tailwindcss 通用版  */

/*每个页面公共css */
/* 共用样式 */
@import "common/css/common.scss";

/** 组件库 */
@import "@kingon/uview-plus/index.scss";

/* tabbar 图标  */
/* 不建议放太多图标，只放置tabbar用到的图标，注：tabbar支持图片/图标 */
// @import "common/css/font/iconfont.css";

/* 公共字体图标 */
// @import "static/fonts/index.css";
</style>
